# Update AI agent user profile

Updates the bot user profile fields using the same update rules as UsersResource. Access is controlled by AI agents manage permissions and scope; agent self-auth is not required.

RBAC:
- requires ANY of AIAgents.Manage, GroupAIAgents.Manage

Endpoint: PUT /api/v1/ai-agents/{agentId}/user
Version: 1.0
Security: header

## Path parameters:

  - `agentId` (string, required)
    UUID with type prefix
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

## Query parameters:

  - `scope` (string, required)
    Scope: 'global' or group TypeId

## Request fields (application/json):

  - `displayName` (string, required)
    Display Name
    Example: "John Smith"

  - `summary` (string, required)
    User's bio
    Example: "I work in IT"

  - `avatarId` (string,null)
    Avatar upload id or null to remove
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `headerId` (string,null)
    Header upload id or null to remove
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `fields` (object, required)
    User fields

  - `username` (string,null)
    Username
    Example: "john_smith"

  - `location` (object,null)
    User's location preferences

  - `location.geo` (object,null, required)
    Coordinates and other geo data

  - `location.geo.latitude` (number, required)

  - `location.geo.longitude` (number, required)

  - `location.geo.altitude` (number,null)

  - `location.geo.accuracy` (number,null)

  - `location.geo.verticalAccuracy` (number,null)

  - `location.geo.speed` (number,null)

  - `location.geo.bearing` (number,null)

  - `location.geo.timestamp` (integer,null)

  - `location.name` (string,null, required)

  - `location.autoUpdate` (boolean, required)

  - `location.show` (boolean, required)

  - `timezone` (object,null)
    User's timezone preferences

  - `timezone.ianaTimezone` (string,null, required)

  - `timezone.autoUpdate` (boolean, required)

  - `timezone.show` (boolean, required)

  - `birthday` (object,null)
    User's birthday preferences

  - `birthday.date` (string,null, required)
    Example: "2022-03-10T16:15:50Z"

  - `birthday.show` (string, required)
    Enum: "NONE", "YEAR", "FULL", "DATE"

  - `appMeta` (object,null)
    Application metadata namespaced by reverse-domain keys

## Response 400 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 401 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 403 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 404 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 409 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation


